﻿//class Date
//{
//public:
//	Date(int year = 1, int month = 1, int day = 1)
//		:_year(year)
//		, _month(month)
//		, _day(day)
//	{
//		cout << "Date(int year, int month, int day)" << endl;
//	}
//
//	Date(const Date& d)
//		:_year(d._year)
//		, _month(d._month)
//		, _day(d._day)
//	{
//		cout << "Date(const Date& d)" << endl;
//	}
//private:
//	int _year = 1;
//	int _month = 1;
//	int _day = 1;
//};
//template<class T>
//struct A
//{
//	template<class ...Args>
//	A(Args&&... args)
//	{
//		cout << sizeof...(args) << endl;
//	}
//	template<class ...Arg>
//	void emplace_(Arg&&... arg)
//	{
//		cout << sizeof...(arg) << endl;
//	}
//};
//int main()
//{
//	A<Date> node5({ 0, 4, 8 });
//
//	//node5.emplace_({ 0, 4, 8 });
//	return 0;
//}

//int main()
//{
//	bit::list<Date> lt1;
//	lt1.push_back({ 2024,3,30 });
//
//	// 不支持
//	//lt1.emplace_back({ 2024,3,30 });
//
//	// 推荐
//	lt1.emplace_back(2024,3,30);
//	cout << endl;
//	
//	Date d1(2023, 1, 1);
//	lt1.push_back(d1);
//	lt1.emplace_back(d1);
//	cout << endl;
//
//	lt1.push_back(Date(2023, 1, 1));
//	lt1.emplace_back(Date(2023, 1, 1));
//
//	return 0;
//}

//int main()
//{
//	bit::list<bit::string> lt1;
//	cout << endl;
//	bit::string s1("xxxx");
//	bit::string s2("xxxx");
//	cout << endl;
//	cout << "=============================================" << endl;
//
//	lt1.push_back(s1);
//	lt1.push_back(move(s1));
//	cout << "=============================================" << endl;
//
//	lt1.emplace_back(s2);
//	lt1.emplace_back(move(s2));
//	cout << "=============================================" << endl;
//
//	lt1.push_back("xxxx");
//	lt1.emplace_back("xxxx");
//	cout << "=============================================" << endl;
//	return 0;
//}

//#include <iostream>
//#include <vector>  
//#include <algorithm>
//using namespace std;
//int main() {
//    vector<int> v = { 1, 2, 3, 4, 5 };
//    // 使用 lambda 函数将每个元素乘以 2  
//    //
//    std::transform(v.begin(), v.end(), v.begin(), [](int x) { return x * 2; });
//    for (int i : v) {
//        std::cout << i << ' ';
//    }
//
//    int x = 10;
//    //使用 lambda 函数捕获 x 的引用并修改它  
//    auto modifier = [&x]() {
//        x = x * x;
//    };
//    modifier(); //x现在是 100  
//    cout << "x: " << x << endl;
//
//    int a = []()->int {return 55 + 5l; };
//    auto _a = []()->int {return 55 + 5l; };
//
//    cout << typeid(_a).name() << endl;
//    return 0;
//}